Systems and methods for automated sanding

ABSTRACT

A sanding system for sanding a surface of a part includes a scanner and a sander. The scanner scans the part to obtain a three-dimensional (3D) surface model of the surface of the part to be sanded. The sander sands the surface of the part. The sander includes a sanding effector that engages and sands the surface of the part and a robot coupled to the sanding effector. The robot moves the sanding effector into engagement with and across the surface of the part based on the 3D surface model to sand the surface of the part.

PRIORITY

This application claims priority to U.S. Provisional Patent Application No. 62/979,712, filed Feb. 21, 202, which is hereby incorporated by reference in its entirety.

FIELD OF DISCLOSURE

The present disclosure generally relates to sanding of surfaces, and more specifically, to systems and methods for automated sanding of surfaces.

BACKGROUND

Surfaces of parts or components are sanded to impart a final texture (e.g., smooth, rough, etc.) to the surface. Sanding generally involves rubbing an abrasive media, such as sandpaper, over the surface to remove a thin layer of material from the surface to even out the surface and remove imperfections (e.g., ridges, divots, etc.).

SUMMARY

In one aspect, a sanding system for sanding a surface of a part comprises a scanner configured to scan the part to obtain a three-dimensional (3D) surface model of the surface of the part to be sanded. A sander is configured to sand the surface of the part. The sander includes a sanding effector configured to engage and sand the surface of the part and a robot coupled to the sanding effector. The robot is configured to move the sanding effector into engagement with and across the surface of the part based on the 3D surface model to sand the surface of the part.

In another aspect, a method for sanding a surface of a part comprises scanning the surface of the part with a scanner to obtain a three-dimensional (3D) surface model of the surface of the part to be sanded and sanding the surface of the part with a sanding effector of a sander. The sanding includes moving the sanding effector with a robot of the sander into engagement with and across the surface of the part based on the 3D surface model.

Other objects and features of the present disclosure will be in part apparent and in part pointed out herein.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a perspective of a sanding system according to one embodiment of the present disclosure;

FIG. 2 is a fragmentary perspective of a sander of the sanding system sanding a surface of a part;

FIG. 3 is a perspective of another embodiment of the sanding system according to the present disclosure;

FIG. 4 is a fragmentary perspective a mounting base of the sanding system of FIG. 3;

FIG. 5 is a perspective of a sanding effector of the sanding system;

FIG. 6 is a perspective of a clamp of the sanding system;

FIG. 7 is a schematic diagram of an exemplary control system for the sanding system;

FIG. 8 is an exemplary flow diagram of the sanding process performed by the sanding system;

FIG. 9 is an exemplary flow diagram of a calibration process of the sanding process; and

FIG. 10 is an exemplary flow diagram of a route generation process of the sanding process.

Corresponding reference characters indicate corresponding parts throughout the drawings.

DETAILED DESCRIPTION

Referring to FIGS. 1 and 2, one embodiment of a sanding system for sanding a surface S of a part P is generally indicated at reference numeral 10. The sanding system 10 is used in the manufacturing process of the part P to sand the surface S of the part. The surface S of the part P can have generally any shape and can be made of generally any material, such as wood, fiberglass, metal, plastic, etc. The sanding system 10 can be used in generally any manufacturing process where the surface S of a part P needs to be sanded, such as in order to impart a finial texture (e.g., smooth) to the surface. Although disclosed for sanding in the exemplary context, the sanding system 10 may be used for other processes such as polishing, cleaning, deburring, etc.

The sanding system 10 includes a platform, generally indicated at 12, a sander, generally indicated at 14, and a scanner, generally indicated at 16. The platform 12 is configured to support the part P being sanded. The platform 12 may be of generally any size and support a part P of generally any size. The platform 12 includes a plurality of clamps 18 configured to hold the part P in place on the platform. The clamps 18 hold the part in place while the scanner 16 is scanning the part, as described in more detail below, and while the sander 14 is sanding the part, as described in more detail below. For reasons that will become apparent, the clamps 18 do not permit the part P to move during and between the scanning and sanding processes. This ensures that the orientation and position of the part P detected by the scanner 16 will be the same orientation and position when the part is sanded by the sander 14. The platform 12 includes a generally horizontal work surface 20, which the clamps 18 are mounted to. The work surface 20 permits the clamps 18 to be positioned at generally any position on the work surface. For example, in one embodiment, the clamps 18 can include magnets (not shown) to magnetically couple the clamps to the work surface 20. The ability to position the clamps 18 at generally any position on the work surface 20 allows an operator to arrange the clamps in generally any configuration to support and hold a part P of generally any shape. The platform 12 may have a modular construction (e.g., a generally rectangular shape) in order to easily add additional platforms to create a platform assembly (not shown) capable of supporting parts P too large for a single platform.

Referring to FIG. 6, each clamp 18 is configured to selectively grip and support the part P. In the illustrated embodiment, each clamp 18 is a negative pressure clamp (e.g., a vacuum clamp). Each clamp 18 includes a suction cup 22 configured to grip the part P and a plurality of pins 24 (e.g., support pins) configured to support the part. A plurality of ports 26 are used to fluidly couple the clamp 18 to a negative pressure or vacuum source 28 and a positive pressure source 30 (FIG. 7), such as a compressor. Fluid conduits (not shown) fluidly couple each clamp 18 to the negative and positive pressure sources 28, 30. At least one port 26 fluidly couples the suction cup 22 to the negative pressure source 28. The suction cup 22 engages the part P and the negative pressure source 28 draws air from the suction cup, thereby causing the suction cup to grip the part. At least one port 26 fluidly couples the pins 24 to the positive pressure source 30. The positive pressure source 30 provides pressurized fluid (e.g., pressurized air) which pushes the pins 24 against the part P to support the part P. Generally, the suction cup 22 draws the part P downward and the pins 24 push upward against the part. This combination results in each clamp 18 providing a secure grip and support for the part P, thereby preventing the part from moving. The clamp 18 may also have an adjustable height and angle to allow the clamp to conform to the size and shape of the part P. Other configurations of the clamp 18 are within the scope of the present disclosure. Examples of a suitable clamps 18 for the sanding system 10 are the Suction-Cup Balances (SSCB) available from Schmalz and the Basic Holding Fixtures (BHF) available from Schmalz.

Referring back to FIG. 1, the scanner 16 of the sanding system 10 is configured to scan the surface S of the part P to obtain a three-dimensional (3D) surface model of the surface to be sanded. As explained in more detail below, the sander 14 sands the surface S of the part P based on the 3D surface model obtained by the scanner 16. In the illustrated embodiment, the scanner 16 is disposed above the platform 12. This provides a suitable view of the surface S of the part P to be sanded, which faces generally upward. The scanner 16 is connected to a framework 32, which supports and holds the scanner above the platform 12. The illustrated sanding system 10 includes one scanner 16, although it is understood that the sanding system may include more than one (e.g., two, three, four, etc.) scanner. The scanner 16 may be mounted in generally any orientation relative to the work surface 20, such as generally parallel to the longitudinal axis of the work surface 20 (FIG. 1) or generally perpendicular to the longitudinal axis of the work surface (FIG. 3). In one embodiment, the scanner 16 may use laser triangulation to generate the 3D surface model. One example of a suitable scanner 16 is the 3D Vision ScanningRuler available from SICK®. In one embodiment, the scanner 16 may be mounted on a mobile gantry. An example of such a mobile gantry is generally indicated at 17 in FIG. 3. In this embodiment, the mobile gantry 17 of the sanding system 10′ is configured to move the scanner 16 while the scanner is scanning. By mounting the scanner 16 to the mobile gantry 17, the scanner is able to scan a larger area and, therefore, a larger part P.

Referring to FIGS. 1, 2 and 5, the sander 14 of the sanding system 10 is configured to sand the surface S of the part P. The sander 14 includes a sanding effector, generally indicated at 34, and a robot (broadly, a mover), generally indicated at 36. The sanding effector 34 is configured to engage and sand the surface S of the part P. The sanding effector 34 is, broadly, a part effector for effecting (e.g., changing, altering, modifying, transforming, etc.) a physical condition of the part P. The sanding effector 34 is coupled to (e.g., mounted on) the robot 36. The robot 36 is configured to move the sanding effector 34 into engagement with and across the surface S of the part P to sand the part, as shown in FIG. 2. As explained in more detail below, the movement of the sanding effector 34, by the robot 36, across the surface S of the part P is based on the 3D surface model from the scanner 16.

Referring to FIG. 5, the sanding effector 34 includes a sanding head 38 configured to engage and sand the surface S of the part P. The sanding head 38 is configured to couple to an abrasive media (not shown), such as a sanding pad, sandpaper, etc., that sands the part P. In one embodiment, the abrasive media may include an adhesive to attach the abrasive media to the sanding head 38. To sand the surface S of the part P, the sanding head 38 (and by extension the abrasive media mounted thereon) may rotate and/or vibrate as the sanding effector 34 is moved across the part. The sanding effector 34 may include one or more sanding heads 38. For example, the sanding effector 34 may include one, two, three, or four sanding heads 38. The sanding effector 34 may also include a dust collection port (not shown) configured to be coupled to a dust collection system (not shown) to collect the dust generated by the sanding. One example of a suitable sanding effector 34 is the Active Orbital Kit available from FerRobotics. Other configurations of the sanding effector 34 are within the scope of the present disclosure.

Preferably, the sanding effector 34 also includes a force adjuster 40 operatively connected to the sanding head 38. The force adjuster 40 is configured to adjust a contact force applied by the sanding head 38 against the surface S of the part P. The force adjuster 40 may include a force sensor (not shown) to detect the contact force applied by the sanding head 38 against the part P. In one or more embodiments, the force adjuster 40 also comprises an internal controller (not shown), separate from the central control systems of the sanding system 10, configured to adjust a force actuator (e.g., pneumatic cylinder, electronic solenoid, etc., not shown) to adjust the amount of force that is applied between the robot 36 and the surface S of the part P onto which the sanding effector 34 is placed. Using the information from the force sensor, the internal controller of the force adjuster 40 may conduct a closed loop control routine to adjust (e.g., increase, decrease, maintain) the amount of contact force applied by the sanding head 38 as the sanding head is moved across the part P to ensure a relatively constant pressure (e.g., contact force) is applied. Maintaining a constant contact force over the part P results in a more consistent and uniform finish in the sanded surface S. Moreover, using internal closed loop control to direct the force adjuster 40 limits the required precision of the robot 36 as it moves the sanding effector 34 along the surface S of the part P. For example, as long as the robot 36 can move the sanding effector 34 along a path that substantially corresponds with the shape of the surface S, the force adjuster 40 can adjust the contact force applied to ensure the amounting of sanding and resulting surface finish is even along the entire surface area of the part P.

Referring back to FIGS. 1 and 2, the robot 36 is a robotic arm, in the illustrated embodiment, with the sanding effector 34 attached to the robotic arm (specifically, an end thereof). Preferably, the robotic arm 36 is a six-axis robotic arm. Other types of robots 36 such as a selective-compliance-articulated robotic arm, a cylindrical robot, a delta robot, a polar coordinate robot, a vertically articulated robot, a Cartesian coordinate robot or any other suitable device are within the scope of the present disclosure.

In the illustrated embodiment, the sander 14 is fixed in place with respect to the platform 12. For example, the platform 12 includes an integrated mounting base 42 the sander 14 is mounted to. Specifically, the robot 36 of the sander 14 is attached to the mounting base 42. In the illustrated embodiment, the mounting base 42 includes a mounting plate 44 configured to attach to a base of the robot 36. The mounting plate 44 is generally horizontal (e.g., parallel to the work surface 20). Fasteners (e.g., bolts) extend through aligned openings in the mounting plate 44 and robot 36 to couple the robot to the mounting base 42. Other configurations of the mounting base 42 are within the scope of the present disclosure. For example, the mounting plate 44 can be disposed at an angle relative to the work surface 20. An example of such a mounting plate is generally indicated at 44′ in FIGS. 3 and 4. In this embodiment, mounting plate 44′ is angled toward the center of the work surface 20. In one embodiment, the mounting plate 44′ may be angled at about 45 degrees relative to the work surface 20, although other angles are within the scope of the present disclosure. By angling the mounting plate 44′, the sander 14 (specifically, the robot 36) is mounted at an angle such that it extends over the work surface 20. As a result, the total area the sander 14 (specifically, the robot 36) can reach is increased over the configuration shown in FIGS. 1 and 2. Otherwise, sanding system 10′ (which includes mounting plate 44′) is generally the same as sanding system 10, and for ease of comprehension, where sanding system 10′ includes similar or analogous elements to that of sanding system 10, identical reference numbers are used.

In one embodiment, the sander 14 may include a mobile gantry (not shown), with the robot 36 attached to the mobile gantry. The mobile gantry is configured to move the robot 36 during the sanding of the surface S of the part P. By mounting the robot 36 to the mobile gantry, instead of the stationary mounting base 42, the overall reach of the sander 14 is increased, permitting the sander to sand a larger area and, therefore, a larger part P.

In the illustrated embodiment, the sanding system 10 includes one scanner 16 and one sander 14. However, it is understood the sanding system 10 can include multiple (e.g., more than one) scanners 16 and/or multiple (e.g., more than one) sanders 14. For example, the sanding system 10 can include two, three, four or more sanders 14. The sanders 14 may each sand a portion of the surface S of the part P or the sanders may sand multiple parts simultaneously. In one embodiment, the sanding system 10 includes four sanders 14, one positioned adjacent each side of the work surface 20. In one embodiment, each sander 14 has a corresponding scanner 16 that scans the portion of the surface S of the part P or the individual part the sander sands.

Referring to FIG. 7, the sanding system 10 has a control system 50 configured to control and operate the sanding system. The control system 50 includes a controller 52 (broadly, a computer) having a CPU or processor 54 and RAM or memory 56 (broadly, non-transitory computer-readable storage medium), such as a hard drive (e.g., a hard disk drive, a solid state drive, etc.). The controller 52 provides the computing engine that drives the operation of the sanding system 10. Broadly, the memory 56 includes (e.g., stores) processor-executable instructions for controlling the operation of the processor 54. The instructions embody one or more functional aspects of the sanding system 10 and its components (e.g., scanner 16, sander 14), with the processor 54 executing the instructions to perform said one or more functional aspects.

The controller 52 is communicatively coupled to the various components of the sanding system 10, such as the sander 14, the scanner 16, the negative pressure source 28 and positive pressure source 30, to control and/or operate these components. For example, the controller 52 can receive the 3D surface model of the surface S of the part P from the scanner 16, process the 3D surface model, and send corresponding movement instructions to the sander 14 based on the 3D surface model for sanding the part, as described in more detail below. Accordingly, the controller 52 is configured to guide the movement of the robot 36 of the sander 14 based on the 3D surface model in order to sand the part P. As explained above, however, in one or more embodiments, the final amount of contact force that is imparted on the surface S is controlled by the internal controller of the force adjuster 40, not the central controller 52 which controls the path of the robot 36. Furthermore, in one or more embodiments, the force adjuster 40 is controlled strictly via closed loop control routine based on a force sensor detecting the amount of contact force being applied as the robot 36 routes the sanding effector 34 along the surface S of the part P. It will be appreciated that, in some embodiments, such a closed loop control routine, unaffected by the scan-derived routing instructions, can be executed by the same controller 52 that also controls the routing of the robot 36 via the scanning data.

Referring to FIGS. 8-10, an exemplary sanding process (e.g., method) for using the sanding system 10 to sand a part P is generally indicated at reference numeral 100. As will become apparent, portions of the sanding process 100 are performed on and/or by the various components of the sanding system 10, such as the controller 52, the scanner 16, the sander 14, the negative pressure source 28 and/or the positive pressure source 30.

To sand a surface S of a part P with the sanding system 10, first, the various components of the sanding system are turned on at step 102. This includes the controller 52, sander 14, scanner 16, negative pressure source 28, positive pressure source 30 and any other components of the sanding system 10. Once all the components are on, the process 100 proceeds to step 104, where a determination is made (such as by the controller 52) as to whether or not the sanding system 10 is properly calibrated. If the sanding system 10 is calibrated, the process 100 proceeds to step 106. If the sanding system 10 is not calibrated, the process 100 proceeds to the calibration process 200 (FIG. 9).

Referring to FIG. 9, if the sanding system 10 needs to be calibrated, the sanding system performs the calibration process 200. From step 104, the sanding system 10 enters the calibration process 200 at step 202, where the sanding system (e.g., the controller 52) checks to ensure the scanner 16 is level. This may be done by interrogating or communicating with a level sensor (not shown) of the scanner 16. After, at step 204, the unit scale is determined for the scanner 16, which is used to establish the physical dimensions sensed by the scanner. Generally, the unit scale is a conversion factor used to convert the raw values generated from scanning the part P into physical dimensions. At step 206, the sanding system 10 again checks to ensure the scanner 16 is level (which is generally a repeat of step 202). At step 208, the universal offset is determined for the sanding system 10. The universal offset establishes the physical relationship between the sander 14 and space scanned by the scanner 16. One way to establish the universal offset is to place the sander 14 (e.g., the sanding effector 34) in a known position in the scanned space, thereby establishing a relationship (e.g., point of reference) between a known position of the sander 14 and a known position in the space scanned by the scanner 16. At step 210, the operation software for the sander 14 (e.g., robot 36, sanding effector 34, etc.) is checked to ensure the operation software is properly installed. If any corrective action needs to be taken in order to address a calibration issue, the controller 52 may use a display (not shown) to inform an operator that corrective action is needed and/or what corrective action to take. Once the calibration process 200 is completed, the sanding process 100 continues to step 106.

At step 106, the clamps 18 are placed and arranged on the work surface 20 of the platform 12. The clamps 18 are arranged in a manner to adequately grip and support the part P to be sanded. If needed, the clamps 18 may also be fluidly coupled to the negative pressure source 28 and the positive pressure source 30. After, at step 108, the part P is secured in place. This includes clamping or holding the part P in place with the plurality of clamps 18. To clamp the part P, the negative pressure source 28 is activated so that the clamps 18 (specifically, the suction cups 22) hold or grip the part in place with suction, as described herein. In addition, the positive pressure source 30 is activated so that the pins 24 engage and push against the part P, to further grip and support the part, as described herein. Once activated, the negative pressure source 28 and positive pressure source 30 will remain active until the sanding of the surface S of the part P is finished, so that the clamps 18 keep the part in place throughout the scanning and sanding processes. After the part P is secured to the platform 12 with the clamps 18, the surface S of the part P is scanned with the scanner 16 to obtain the 3D surface model of the surface of the part. Once the 3D surface model is obtained, the model is processed by the controller 52 to generate one or more sanding routes for the sander 16 to follow in order to sand the surface S of the part P. The sanding routes are generated using a route generation process 300 (FIG. 10). If the sanding system 10 includes multiple scanners 16, the multiple scanners may scan the part P simultaneously or successively, with each scanner generating a portion or section of the 3D surface model of the surface S of the part.

Referring to FIG. 10, after the scanner 16 scans the surface S of the part P, the sanding process 100 enters the route generation process 300. The route generation process 300 may be executed by the controller 52. At step 302, the raw data from the scanner 16 is converted into a point cloud data (PCD) file format, a 3D file format. The use of other types of 3D file formats is within the scope of the present disclosure. At step 304, the PCD file data is converted in physical dimensions using the unit scale (established during the calibration of the sanding system 10). At step 306, the PCD file data is further processed by smoothing the data, removing outliers and filtering out unwanted sections in the scan data. For example, sections in the scan data corresponding to the work surface 20 are removed. The PCD file data is further processed to determine the normal to each point in the PCD file data (e.g., the 3D surface model) which is used to determine orientation of the sander 14 (specifically, the sanding effector 34) for each point of the PCD file data (e.g., each point on the surface S of the part P). After, at step 308, the processed PCD file data is converted into robot space using the universal offset (established during the calibration of the sanding system 10). The robot space is the space capable of being reached by the sander 14 and will overlap, at least in part, with the space scanned by the scanner (e.g., scan space). By converting to robot space, the physical relationship (e.g., distance, direction, etc.) between the scanned data (e.g., 3D surface model) and the sander 14 is established. As used herein, the 3D surface model refers to any data generated by the scanner 16 and any subsequent processed iterations of that data.

At step 310, a pathing or routing algorithm is run on the processed data (e.g., the 3D surface model) to generate the one or more sanding routes (e.g., a first sanding route, a second sanding route, a third sanding route, etc.). Thus, the sanding routes are generated based on (e.g., using) the 3D surface model from the scanner 16. Each sanding route can be the same or different. In addition, two sanding routes can be the inverse of each other (e.g., travel in opposite directions along the same route). Moreover, each sanding route can direct the sander 14 (specifically, the sanding effector 34) over the entire surface S of the part P or only a portion of the surface of the part. At step 312, each sanding route is converted into movement or route instructions (e.g., robot script, waypoints, etc.) to be used by the sander 14. The route instructions embody the sanding route and the sander 14 (specifically, the robot 36) uses the route instructions to direct its movement, thereby moving along the sanding route. In other words, the route instructions are a series of instructions for controlling the movement of the sander 14 to move the sander along the generated sanding route. After the route instructions are generated, the route generation process 300 is complete and the sanding process continues at step 116.

Referring back to FIG. 8, at step 116, the route instructions are executed by the sander 14 (specifically, the robot 36 and sanding effector 34). If the sander 14 includes a mobile gantry, the mobile gantry may also execute portions of the route instructions. As a result of executing the instructions, the part P is sanded. In particular, the surface S of the part P is sanded with the sanding effector 34 of the sander 14. The sanding effector 34 is moved with the robot 36 into engagement with and across the surface S of the part P. As the sanding effector 34 is moved across the part P, the abrasive media engages the surface S and the sanding head 38 is rotated and/or vibrated to sand the surface. The movement of the sanding effector 34 is based on the 3D surface model. To sand the part P, the robot 36 moves the sanding effector 34 along the one or more sanding routes (e.g., the first sanding route, the second sanding route, the third sanding route, etc.), one after another. One or more of the sanding routes may also be repeated, depending on the degree or amount of sanding desired for the surface S of the part P. Similarly, one or more sanding routes may be repeated after the abrasive material on the sanding head 38 is replaced with a finer abrasive material, thereby allowing the sanding system 10 to impart a successively smoother texture onto the surface S of the part P.

As the sanding effector 34 moves over the surface S of the part P, the contact force applied by the sanding head 38 against the surface may be adjusted, by the force adjuster 40, to ensure a relatively constant force is applied by the sander 14 against the part during the sanding. As can be seen this allows the robot 36 to be controlled to move the sanding effector 34 along a path that conforms to the surface, without requiring the path to be so precise to enable the robot's movement itself to control the amount of force being applied. This greatly simplifies the computational requirements of the path planning process, which enables a route to be planned for a surface S very quickly upon scanning. Moreover, based upon such a quickly produced route the sanding system 10 will still produce a very consistent surface finish because the amount of force being applied is controlled independently of the route.

As mentioned above, the negative pressure source 28 is operated simultaneously and continuously during the sanding to hold the part P in place and prevent the part from moving. Likewise, the positive pressure source 30 is also operated simultaneously and continuously during the sanding to hold the part P in place. If the sanding system 10 includes multiple sanders 14, the multiple sanders may sand the part P simultaneously or sequentially, with each sander sanding a portion or section of the surface S of the part. In another embodiment, each sander 14 of the multiple sanders may each have a different grit of abrasive media, and the sanders may successively follow one another to successively sand the surface S of the part P with successively finer and finer grits of abrasive media.

After the surface S of the part P is sanded, the part is cleaned, at step 118. Cleaning the part P may include removing dust from the part using a vacuum and/or a cleaning solution. After the part P is cleaned, the sanding system 10 is shut down, at step 120 and the process 100 ends. Shutting down the sanding system 10 includes turning off or disconnecting the negative pressure source 28 and positive pressure source 30 from the clamps 18, to release the clamps from the part P.

As can be seen, the illustrated sanding system 10 enables a single part P to be clamped on the work surface 20, scanned, and then automatically sanded precisely to a specified surface finish without any foreknowledge of the shape of the surface S. Thus, the system 10 is capable of very precisely and automatically sanding one-off, one-of-a-kind parts with arbitrary shapes in very little time. It is therefore contemplated that in one or more embodiments of a process of using the sanding system 10, a first part P having a first surface S will be clamped onto the work surface 20 in the manner specified above. Then the surface S of the part P to be sanded will be scanned. Based on the scanning data, the controller 52 will generate a sanding path that corresponds to the shape of the surface S. The controller 52 will then direct the robot 36 to move along the sanding path, causing the sanding effector 34 to travel along the surface S (e.g., back and forth in the manner of a switchback path; e.g., along a first switchback path running in a first direction (e.g., front to back) and then, traversing the same surface area, along a second switchback path running in a second direction (e.g., right to left), optionally repeating this process). As the sanding effector 34 travels along the sanding route, independently of the scanning data or sanding path instructions generated therefrom, the force adjuster 40 will adjust an amount of force applied between the robot 36 and the sanding effector to maintain a consistent contact force on the surface S.

After sanding the surface S of the first part P, the part is removed and a second part (not shown) having a different surface shape can be clamped onto the work surface 20. Then, the surface of the second part will be scanned. Based on the scanning data, the controller 52 will generate a second sanding path that corresponds to the shape of the second surface. The controller 52 will then direct the robot 36 to move along the second sanding path, causing the sanding effector 34 to travel along the second surface (e.g., as explained above). As the sanding effector 34 travels along the second path, independently of the scanning data or sanding path instructions generated therefrom, the force adjuster 40 will adjust an amount of force applied between the robot 36 and the sanding effector 34 to maintain a consistent contact force on the second surface.

Thus, it can be seen that the sanding system can be used to automatically sand successive parts of different shapes to equally accurate finial surfaces in very little time and with very little user interaction.

Although described in connection with an exemplary computing system environment, embodiments of the aspects of the disclosure are operational with numerous other general purpose or special purpose computing system environments or configurations. The computing system environment is not intended to suggest any limitation as to the scope of use or functionality of any aspect of the disclosure. Moreover, the computing system environment should not be interpreted as having any dependency or requirement relating to any one or combination of components illustrated in the exemplary operating environment. Examples of well-known computing systems, environments, and/or configurations that may be suitable for use with aspects of the disclosure include, but are not limited to, personal computers, server computers, hand-held or laptop devices, multiprocessor systems, microprocessor-based systems, set top boxes, programmable consumer electronics, mobile telephones, network PCs, minicomputers, mainframe computers, distributed computing environments that include any of the above systems or devices, and the like.

Embodiments of the aspects of the disclosure may be described in the general context of data and/or processor-executable instructions, such as program modules, stored one or more tangible, non-transitory storage media and executed by one or more processors or other devices. Generally, program modules include, but are not limited to, routines, programs, objects, components, and data structures that perform particular tasks or implement particular abstract data types. Aspects of the disclosure may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules may be located in both local and remote storage media including memory storage devices.

In operation, processors, computers and/or servers may execute the processor-executable instructions (e.g., software, firmware, and/or hardware) such as those illustrated herein to implement aspects of the disclosure.

Embodiments of the aspects of the disclosure may be implemented with processor-executable instructions. The processor-executable instructions may be organized into one or more processor-executable components or modules on a tangible processor readable storage medium. Aspects of the disclosure may be implemented with any number and organization of such components or modules. For example, aspects of the disclosure are not limited to the specific processor-executable instructions or the specific components or modules illustrated in the figures and described herein. Other embodiments of the aspects of the disclosure may include different processor-executable instructions or components having more or less functionality than illustrated and described herein.

The order of execution or performance of the operations in embodiments of the aspects of the disclosure illustrated and described herein is not essential, unless otherwise specified. That is, the operations may be performed in any order, unless otherwise specified, and embodiments of the aspects of the disclosure may include additional or fewer operations than those disclosed herein. For example, it is contemplated that executing or performing a particular operation before, contemporaneously with, or after another operation is within the scope of aspects of the disclosure.

In view of the above, it will be seen that several advantageous results are obtained.

Having described the invention in detail, it will be apparent that modifications and variations are possible without departing from the scope of the invention defined in the appended claims.

When introducing elements of the present invention or the preferred embodiment(s) thereof, the articles “a”, “an”, “the” and “said” are intended to mean that there are one or more of the elements. The terms “comprising”, “including” and “having” are intended to be inclusive and mean that there may be additional elements other than the listed elements.

In view of the above, it will be seen that the several objects of the invention are achieved and other advantageous results attained. As various changes could be made in the above constructions and methods without departing from the scope of the invention, it is intended that all matter contained in the above description and shown in the accompanying drawings shall be interpreted as illustrative and not in a limiting sense. 

What is claimed is:
 1. A sanding system for sanding a surface of a part, the system comprising: a scanner configured to scan the part to obtain a three-dimensional (3D) surface model of the surface of the part to be sanded; and a sander configured to sand the surface of the part, the sander including: a sanding effector configured to engage and sand the surface of the part; and a robot coupled to the sanding effector and configured to move the sanding effector into engagement with and across the surface of the part based on the 3D surface model to sand the surface of the part.
 2. The sanding system of claim 1, further comprising a controller communicatively coupled to the scanner and the sander and configured to guide the movement of the robot based on the 3D surface model.
 3. The sanding system of claim 1, further comprising a platform configured to support the part, the scanner disposed above the platform.
 4. The sanding system of claim 3, wherein the platform includes a plurality of clamps configured to hold the part in place on the platform.
 5. The sanding system of claim 4, wherein the clamps are negative pressure clamps, the negative pressure clamps configured to be coupled to a negative pressure source.
 6. The sanding system of claim 1, wherein the sanding effector includes a sanding head configured to engage and sand the surface of the part and a force adjuster operatively connected to the sanding head and configured to adjust a contact force applied by the sanding head against the surface of the part.
 7. The sanding system of claim 1, wherein the robot includes a robotic arm, the sanding effector attached to the robotic arm.
 8. The sanding system of claim 7, wherein the sander includes a mobile gantry, the robotic arm attached to the mobile gantry, the mobile gantry configured to move the robotic arm during the sanding of the surface of the part.
 9. The sanding system of claim 8, wherein the robotic arm is a six-axis robotic arm.
 10. The sanding system of claim 1, wherein the sander is a first sander, the sanding system further comprising a second sander configured to sand the surface of the part, the second sander including: a sanding effector configured to engage and sand the surface of the part; and a robot coupled to the sanding effector and configured to move the sanding effector into engagement with and across the surface of the part based on the 3D surface model to sand the surface of the part.
 11. A method for sanding a surface of a part, the method comprising: scanning the surface of the part with a scanner to obtain a three-dimensional (3D) surface model of the surface of the part to be sanded; and sanding the surface of the part with a sanding effector of a sander, wherein the sanding includes moving the sanding effector with a robot of the sander into engagement with and across the surface of the part based on the 3D surface model.
 12. The method of claim 11, further comprising generating a first sanding route with a controller based on the 3D surface model, wherein sanding the surface of the part includes moving the sanding effector along the first sanding route.
 13. The method of claim 12, wherein the first sanding route directs the sanding effector over the entire surface of the part.
 14. The method of claim 12, further comprising generating a second sanding route with the controller based on the 3D surface model, wherein sanding the surface of the part includes moving the sanding effector along the second sanding route after the sanding effector has finished moving along the first sanding route.
 15. The method of claim 11, further comprising securing the part in place before scanning the surface of the part.
 16. The method of claim 15, wherein securing the part in place includes clamping the part in place with a plurality of clamps.
 17. The method of claim 16, wherein clamping the part in place includes activating a negative pressure source fluidly coupled to the clamps so that the clamps hold the part in place with suction.
 18. The method of claim 17, further comprising operating the negative pressure source simultaneously and continuously with said scanning and said sanding to hold the part in place during said scanning and said sanding.
 19. The method of claim 11, wherein sanding the surface of the part includes adjusting the contact force applied by a sanding head of the sanding effector against the surface of the part as the sanding effect moves over the surface.
 20. The method of claim 11, wherein the sander is a first sander and the method further comprises: sanding the surface of the part with a sanding effector of a second sander, wherein the sanding with the second sander includes moving the sanding effector of the second sander with a robot of the second sander into engagement with and across the surface of the part based on the 3D surface model. 